Parse outpout of 'sensors --label-map' to customize labels - #576
Parse outpout of 'sensors --label-map' to customize labels#576remiberthoz wants to merge 3 commits into
Conversation
--label-map parameter to 'sensors' is not implemented in the official sensors program, but available at this fork: https://github.com/remiberthoz/lm-sensors
|
Launching a subprocess is very risky. It's why I was so slow to adopt GPU stats. It is so easy to cause system stutter. I think the right course of action here is to add /etc/sensors3.conf parsing directly into Vitals. We actually talk about it in issue #83. Hoping that Vitals has permission to read this file with no special permissions. This would be a one time load of the file and stored in memory. I know that this file supports other things like thresholds and conversions, but for now labels would be nice. The goal is to keep the changes as minimal as possible. Please note that I've pushed some changes to both develop and main that you'll want to use. |
|
Thank you for the feedback. I agree that issuing a subprocess command is not great. It's possible to do asynchronously, that would be better. I'll follow your lead anyway. I have tested parsing of /etc/sensors3.conf, for labels only it's straightforward. My problem is that I don't know how to link a "chip" from that configuration file to a "device" in the hwmon sysfs tree. I will take care of merging your commits to my branch. Thanks again. |
|
I created a branch called feature/sensors3 - unfortunately I don't have a machine with matching chipsets to try it out. Can you check it out? |
|
Yes! I currently have issues with the version of your latest commits (ad47fdd): most entries report "No Data", but voltages labels are correctly reported alongside chip names: I will attempt to identify the origin of the problem for other sensors and report here. |
|
Well yes, the issue is due to the explicit I can unspecify the buses in the configuration by setting: and I then get reports of Releasing constraints on the mapping performed by on line 142) leads to a similar result, while allowing users to preserve details in their configuration. The issue would only really appear when very different sensors share a same name: I don't really mind two RAM sticks being indistinguishable, but problems appear if that was two GPUs, two NVMes, or even devices of different kinds. |



This draft PR assumes merging of another PR over at lm-sensors: lm-sensors/lm-sensors#577. The change is functional with my fork of lm-sensors: https://github.com/remiberthoz/lm-sensors/tree/reflection also it would need path adjustments for the fork on line 356 and 357.
It makes configuration of labels for temperature, fan, PWM and voltage sensors adjustable via
/etc/sensors.conf,/etc/sensors3.confor/etc/sensors.d/. It also masks sensors that are ignored by this configuration files.